package engine.planets;

public abstract class Planet {

	/* Виды атмосфер. */
	public final static int ATMOSPHERE_NONE = 0;
	public final static int ATMOSPHERE_EARTH_LIKE = 1;
	public final static int ATMOSPHERE_POISON = 2;

	/* Виды климата. */
	public final static int CLIMATE_VOLCANIC = 0;
	public final static int CLIMATE_COMFORT = 1;
	public final static int CLIMATE_ICE = 2;

	/* Размеры планет. */
	public final static int SIZE_DWARF = 20;
	public final static int SIZE_EARTH_LIKE = 45;
	public final static int SIZE_BIG = 75;
	public final static int SIZE_GIANT = 120;

	/* Значения радиоактивности. */
	public final static int RADIOACTIVITY_NORMAL = 0;
	public final static int RADIOACTIVITY_HIGH = 1;
	public final static int RADIOACTIVITY_DEADLY = 2;

	/* Соотношение суша/океан. */
	public final static double RATIO_OF_LAND_WATERWORLD = 1.00;
	public final static double RATIO_OF_LAND_ARCHIPELAGO = 0.85;
	public final static double RATIO_OF_LAND_EARTH_LIKE = 0.60;
	public final static double RATIO_OF_LAND_MEDITERRANEAN = 0.30;
	public final static double RATIO_OF_LAND_DESERT = 0.00;

	/* Ресурсное богатство планеты. */
	public final static int RESOURCE_WEALTH_VERY_POOR = 0;
	public final static int RESOURCE_WEALTH_POOR = 1;
	public final static int RESOURCE_WEALTH_EARTH_LIKE = 2;
	public final static int RESOURCE_WEALTH_RICH = 3;
	public final static int RESOURCE_WEALTH_VERY_RICH = 4;

	/* Гравитация планеты */
	public final static int GRAVITY_1_8X = 0;
	public final static int GRAVITY_1_6X = 1;
	public final static int GRAVITY_1_4X = 2;
	public final static int GRAVITY_1_2X = 3;
	public final static int GRAVITY_1X = 4;
	public final static int GRAVITY_2X = 5;
	public final static int GRAVITY_4X = 6;
	public final static int GRAVITY_6X = 7;
	public final static int GRAVITY_8X = 8;

	/**
	 * @return the name
	 */
	public abstract String getName();

	/**
	 * @param name the name to set
	 */
	public abstract void setName(String name);

	/**
	 * @return the orbit
	 */
	public abstract int getOrbit();

	/**
	 * @param orbit the orbit to set
	 */
	public abstract void setOrbit(int orbit);

	/**
	 * @return the atmosphere
	 */
	public abstract int getAtmosphere();

	/**
	 * @param atmosphere the atmosphere to set
	 */
	public abstract void setAtmosphere(int atmosphere);

	/**
	 * @return the radioactivity
	 */
	public abstract int getRadioactivity();

	/**
	 * @param radioactivity the radioactivity to set
	 */
	public abstract void setRadioactivity(int radioactivity);

	/**
	 * @return the gravity
	 */
	public abstract double getGravity();

	/**
	 * @param gravity the gravity to set
	 */
	public abstract void setGravity(double gravity);

	/**
	 * @return the size
	 */

}
